import axios from 'axios';
import qs from 'qs';

const APIURL = 'http://www.ydwx.loan';

export default {
  /**
   * 搜索
   * @param {String} keyword 关键词
   * @param {Number} page 页码（默认值为0）
   * @returns 请求地址
   */
  SEARCH(keyword, page = 0) {
    return axios.get(encodeURI(`${APIURL}/search?keyword=${keyword}&pageIndex=${page}`));
  },
  /**
   * 得到音频文件地址
   * @param {Number} id 音乐id
   * @param {String} type 音乐类型
   * @returns 请求地址
   */
  SONGINFO(id, type) {
    return axios.get(encodeURI(`${APIURL}/getSong?songId=${id}&songType=${type}`));
  },
  /**
   * 用户注册(post)
   * @param {any} uid 用户id
   * @param {any} nickname 用户昵称
   * @param {any} password 密码
   * @returns 请求地址
   */
  SIGNUP(uid, nickname, password) {
    return axios.post(encodeURI(`${APIURL}/signup`),
      qs.stringify({
        uid,
        nickname,
        password,
      }));
  },
  /**
   * 用户登陆(post)
   * @param {any} uid 用户id
   * @param {any} password 密码
   * @returns 请求地址
   */
  LOGIN(uid, password) {
    // return encodeURI(`${APIURL}/login?uid=${uid}&password=${password}`);
    return axios.post(encodeURI(`${APIURL}/login`),
      qs.stringify({
        uid,
        password,
      }));
  },
  /**
   * 获取昵称
   *
   * @param {any} token token
   * @returns
   */
  GETNICKNAME(token) {
    return axios.get(encodeURI(`${APIURL}/getnickname?token=${token}`));
  },
  /**
   * 获取歌单
   * @param {any} token token
   * @returns axios
   */
  GETMENU(token) {
    return axios.post(encodeURI(`${APIURL}/getMenu`),
      qs.stringify({
        token,
      }));
  },
  /**
   * 通过歌单id获取歌单
   * @param {any} id id
   * @returns axios
   */
  GETMENUBYID(id) {
    return axios.get(encodeURI(`${APIURL}/getMenu/${id}`));
  },
  /**
   * 添加歌单
   * @param {any} token
   * @param {any} menuObj
   * @returns
   */
  ADDMENU(token, menuObj) {
    return axios.post(encodeURI(`${APIURL}/addMenu`),
      qs.stringify({
        token,
        menuObj,
      }));
  },
  /**
   * 删除歌单
   *
   * @param {any} token
   * @param {any} mid
   * @returns
   */
  DELETEMENU(token, mid) {
    return axios.post(encodeURI(`${APIURL}/removeMenu`),
      qs.stringify({
        token,
        mid,
      }));
  },
};
